//package com.yaolisheng.task;
//
//import com.yaolisheng.config.ScheduleTaskConfiguration;
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.scheduling.Trigger;
//import org.springframework.scheduling.TriggerContext;
//import org.springframework.scheduling.annotation.SchedulingConfigurer;
//import org.springframework.scheduling.config.ScheduledTaskRegistrar;
//import org.springframework.scheduling.support.PeriodicTrigger;
//import org.springframework.stereotype.Component;
//
//import javax.annotation.Resource;
//import java.time.LocalDateTime;
//import java.util.Date;
//
///**
// * @author : yaols
// * Desc:
// * Company: 神州数码信息系统有限公司
// * Date: 2022/12/01 11:52
// */
//@Slf4j
//@Component
//public class ScheduleTask implements SchedulingConfigurer {
//
//    @Resource
//    private ScheduleTaskConfiguration taskConfig;
//
//
//    @Override
//    public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {
//        // 动态使用cron表达式设置循环间隔
//        taskRegistrar.addTriggerTask(new Runnable() {
//            @Override
//            public void run() {
//                log.info("Current time🤣💕○( ＾皿＾)っHiahiahia…： {}", LocalDateTime.now());
//            }
//        }, new Trigger() {
//            @Override
//            public Date nextExecutionTime(TriggerContext triggerContext) {
//                // 使用CronTrigger触发器，可动态修改cron表达式来操作循环规则
//                //CronTrigger cronTrigger = new CronTrigger(cron);
//                //return cronTrigger.nextExecutionTime(triggerContext);
//                // 使用不同的触发器，为设置循环时间的关键，区别于CronTrigger触发器，该触发器可随意设置循环间隔时间，单位为毫秒
//                PeriodicTrigger periodicTrigger = new PeriodicTrigger(taskConfig.getTimer());
//                Date nextExecutionTime = periodicTrigger.nextExecutionTime(triggerContext);
//                return nextExecutionTime;
//            }
//        });
//    }
//}
